\documentclass[russian,utf8,emptystyle,floatsection,equationsection]{eskdtext} 

\include{defs}  % вставляем содержимое служебных инструкций из defs.tex
\usepackage[numbertop]{eskdplain}
\setcounter{section}{0}
\newcommand{\symb}{*}

\newcommand{\target}{Выбор инструмента} % Название цели
% Критерии

\newcommand{\critOne}{Удобство использования}
\newcommand{\critOneAbout}{ характеристика показывающая удобство
  использования альтернативы в проектах такого рода.
}

\newcommand{\critTwo}{Скорость работы}
\newcommand{\critTwoAbout}{
  Поскольку аппроксимация ресурсоемкий процесс, то скорость работы
  конечного продукта является важной характеристикой
}

\newcommand{\critThree}{Дру\-же\-люб\-ность сообщества}
\newcommand{\critThreeAbout}{
  Легко ли получить помощь от сообщества пользователей данного ПО, в
  случае непридвиденной ситуации.
}

\newcommand{\critFour}{Серьезность поддержки}
\newcommand{\critFourAbout}{
  На сколько авторы данного ПО серьезно относятся к своему детищу.
}
% Альтернативы
\newcommand{\altOne}{Python}
\newcommand{\altTwo}{R}
\newcommand{\altThree}{Matlab}
\newcommand{\altFour}{Octave}

\renewcommand{\red}[1]{[#1]}

\begin{document}
\section{Анализ состояния вопроса.}
\subsection{Описание предметной области}
На практике постоянно возникают задачи анализа и
интерпретации данных. Необходимо сравнивать новые данные с
опубликованными и оценивать влияние измеренных параметров, чтобы
понять в каком направлении двигаться дальше. И все это нужно делать
быстро, без многодневного погружения в книги и специальные программы
по статистической обработке данных.

Для экспериментатора может быть интересно понять, не может ли данное
распределение быть описано некоторой аналитической формулой. Иначе
говоря, определить природу процесса: с какой вероятностью можно
ожидать выхода определенного числа людей в произвольном измерении,
среднее число людей, выходящих из метро, наиболее вероятное и т.д. 

\subsection{Анализ аналогов и прототипов}
Программа "Аппроксимация" позволит получить уравнение связи выходных
величин процесса от входных с учетом различных значений весовых
коэффициентов. В программе реализовано нахождение коэффициентов
следующих аппроксимирующих функций: 

\begin{itemize}
\item  полиномиальная, со степенью до 7 (включительно);
\item показательная;
\item 1-я дробнорациональная;
\item логарифмическая;
\item степенная;
\item гиперболическая;
\item 2-я дробнорациональная. 
\end{itemize}


ME.com, модуль APX, вер.2. Программа выполняет аппроксимацию
экспериментальных данных на платформе Microsoft Excel. Добавлена
возможность аппроксимации пользовательской функцией.

Программа оцифровки, обработки и графического представления данных
FindGraph. Часто для поиска математической
модели интерпретации данных подходит метод исследования "что будет
если" FindGraph даст вам возможность оцифровать точки непосредственно
с опубликованного графика, при помощи встроенного графического
редактора добавить или исправить данные, построить линию регрессии или
нелинейную аппроксимацию, или найти лучшую математическую модель. И
все это за несколько минут. Программа включает более 200 нелинейных
уравнений аппроксимации. FindGraph применяется для решения различных
задач в спектрометрии, геофизике, биофизике, фармакологии,
стоматологии, экономики и многих других отраслях.

CurveFitter это программа предоставляющая статистический регрессионный
анализ для подсчета примерных параметров линейных, многомерных,
многочленных, показательных и нелинейных функций. Регрессивный анализ
определяет значение параметров, что позволяет функции лучше подходить
данным наблюдений, которые вы предоставляете. Этот процесс также
называется аппроксимация кривой.
	
CurveFitter это программа предоставляющая статистический регрессионный
анализ для подсчета примерных параметров линейных, многомерных,
многочленных, показательных и нелинейных функций. Регрессивный анализ
определяет значение параметров, что позволяет функции лучше подходить
данным наблюдений, которые вы предоставляете. Этот процесс также
называется аппроксимация кривой.

Возможности:
\begin{itemize}
\item Любое уравнение до 9 параметров и 8 неизвестных.
\item Линейные уравнения.
\item Нелинейные показательные, логорифмические и силовые уравнения.
\item 38-символьный точный математический эмулятор, выполняющий
  подходящую подгонку высокоуровневых многочленов и рациональных
  чисел.
\item Графический обзор результатов.
\end{itemize}

Curvefitter автоматически сортирует
и выстраивает подогнанные уравнения по статистическому критерию
Стандартизации Ошибок. Как только готовы конечные параметры
генерируется остаточный график для выбранных уравнений.

Curvefitter предоставляет все преимущества пользовательского
интерфейса Windows для упрощения каждой операции – от импортирования
данных до выдачи результатов. Импортирование данных из большинства
популярных форматов файлов включая Excel, Lotus и ASCII. Как только
ваши данные поместяться в редактор, создайте уравнение, установите и
начните автоматический процесс подгонки. Curvefitter высоко
интуитивный, удобный в использовании и простой в изучении программный
продукт.

\subsection{Перечень задач, подлежащих решению в процессе разработки}
Программный комплекс должен обладать следующими возможностями:
\begin{enumerate}
\item Ввод правил
\item Ввод функций принадлежности
\item Ввод параметров генетических алгоритмов
\item Построение графиков
\item Вывод отчетов
\end{enumerate}

\subsection{Постановка задачи}
\subsubsection{Назначение и область применения}

Программа предназначена для аппроксимации экспериментальзын данных с
помощью базы нечетких правил, настраиваемых генетическим алгоритмом.
Для экспериментатора может быть интересно понять, не может ли данное
распределение быть описано некоторой аналитической формулой. Иначе
говоря, определить природу процесса.

\subsection{Требования к программе и программному изделию}
\subsubsection{Требования к функциональным характеристикам}
\begin{itemize}
\item Ввод правил
\item Ввод функций принадлежности
\item Ввод параметров генетических алгоритмов
\item Построение графиков
\item Построение гистограммы - график, на котором показаны отклонения в
  аппроксимации по каждому из экспериментов.
\item Вывод отчетов в формате html
\item Вывод отчетов в формате pdf
\item Ввод и зранение данных эксперимента
\item Хранение результатов аппроксимации
\end{itemize}

\subsubsection{Требования к составу и параметрам технических средств}
ПО должно функционировать на IBM совместимых персональных компьютерах имеющих следующую конфигурацию:
\begin{itemize}
\item Процессор Pentium 3 - 1.3 Ghz
\item ОЗУ 512 MB
\item Видео: поддержка разрешение 1024x768
\item Монитор совместимый с данной видеокартой
\item Клавиатура
\item Мышь
\end{itemize}

\subsubsection{Требования к информационной и программной совместимости}

ПО должно работать под управлением ОС семейства Windows (2000/XP/Vista)

\subsubsection{Требования к программной документации}
\begin{itemize}
\item Разрабатываемые программные модули должны быть
  самодокументированы, тексты программ должны содержать все
  необходимые комментарии
\item Программная система должна включать справочную информацию о
  работе и подсказки пользователю
\item В состав сопровождающей документации должно входить руководство
  пользователя
\end{itemize}

\section{Выбор и обоснование средств проестирование.}
\subsection{Описание альтернатив}
Так как одно из требований к ПО это переносимость то из множества
языков программирования можно выделить следующие: \altOne ,
\altTwo,\altThree,\altFour.

\subsection{Описание критериев}
Для выбора ЯП применим метод анализа иерархий.
Выберем следующие критерии:
\begin{enumerate}
\item \critOne –  \critOneAbout
\item \critTwo -   \critTwoAbout
\item \critThree -  \critThreeAbout
\item \critFour – \critFourAbout
\end{enumerate}

\subsection{Метод анализа иерархий (МАИ)}
\subsubsection{Общие сведения}

СППР, основанная на методе анализа иерархий (МАИ), является простым и
удобным средством, которое поможет структурировать проблему, построить
набор альтернатив, выделить характеризующие их факторы, задать
значимость этих факторов, оценить альтернативы по каждому из
факторов, найти неточности и противоречия в суждениях ЛПР/эксперта,
проранжировать альтернативы, провести анализ решения и обосновать
полученные результаты.

СППР МАИ может использоваться при решении следующих типовых задач:
\begin{itemize}
\item оценка качества организационных, проектных и конструкторских решений;
\item определение политики инвестиций в различных областях;
\item задачи размещения (выбор места расположения вредных и опасных
  производств, пунктов обслуживания);
\item распределение ресурсов;
\item проведение анализа проблемы по методу “стоимость-эффективность”;
\item стратегическое планирование;
\item проектирование и выбор оборудования, товаров;
\item выбор профессии, места работы, подбор кадров.
\end{itemize}

Основные положения метода анализа иерархий были разработаны известным
американским математиком Т.Л.Саати и опубликованы в 1977г
\red{[7]}. Томас Саати является одним из самых ярких
представителей прикладной науки. Об этом говорят не только его
математическая эрудиция и глубина новых теоретических результатов, но
и диапазон приложений. Он был прав, предпослав к одной из своих
монографий эпиграф: <<Я люблю обе   стороны математики: чистую - как
возвышенный уход от реальности,   прикладную - как страстное
стремление к жизни>>.

МАИ используется для решения слабо структуризованных и
неструктуризованных проблем. Методология решения таких проблем
опирается на системный подход, при котором проблема рассматривается
как результат взаимодействия и, более того, взаимозависимости
множества разнородных объектов, а не просто как их изолированная и
автономная совокупность.

Человеку присущи два характерных признака аналитического мышления:
один - умение наблюдать и анализировать наблюдения, другой –
способность устанавливать отношения между наблюдениями, оценивая
уровень (интенсивность) взаимосвязей, а затем синтезировать эти
отношения в общее восприятие наблюдаемого.

На основе этих свойств человеческого мышления были сформулированы три
принципа,  реализация которых и является содержанием МАИ:
\begin{itemize}
\item принцип идентичности и декомпозиции;
\item принцип дискриминации и сравнительных суждений;
\item принцип синтеза.
\end{itemize}

\subsubsection{Принцип идентичности и декомпозиции}
Реализация этого принципа осуществляется на первом этапе применения
МАИ, в котором предусматривается структурирование проблемы в виде
иерархии. Иерархия строится с вершины - это общая цель или фокус
проблемы. В общем случае целей может быть несколько. За фокусом
следует уровень наиболее важных критериев. Каждый из критериев может
разделяться на субкритерии, за которыми следует уровень
альтернатив. ЛПР при построении иерархии вынужден вникнуть в
проблему. От этого этапа во многом зависят конечные результаты
принятия решений. Формирование множества альтернатив и критериев
осуществляется с учетом рекомендаций. Этап является неформализуемым.

\textbf{Пример.} При обсуждении проблемы улучшения жилищных условий семьей была
сформулирована цель - покупка дома. Обсуждались и другие цели решения
этой проблемы (например, ремонт имеющегося жилья). Из каталога были
отобраны три наиболее предпочтительных  дома (варианты А, В, С),
которые и были осмотрены семьей непосредственно. Для выбора
окончательного варианта  она решила воспользоваться методом анализа
иерархий. Итогом первого этапа МАИ, который явился результатом
семейного обсуждения, стала следующая иерархия (рисунок \ref{img_1}):
Иерархия - есть определенный тип системы, основанный на предположении,
что элементы системы могут группироваться в несвязанные
множества. Элементы каждой группы находятся под влиянием элементов
другой группы и в свою очередь оказывают влияние на элементы следующей
руппы.

Считается, что элементы в каждой группе иерархии (называемые уровнем,
кластером, стратой) независимые. Рассмотрим общий вид иерархии
 (рисунок \ref{img_2}).

\begin{figure}[!h]
  \centering
  \includegraphics[angle=270, width=0.9\textwidth]{chapter_3_img_1}
  \caption{Иерархия проблемы улучшения жилищных условий}
  \label{img_1}
\end{figure}

\begin{figure}[!h]
  \centering
  \includegraphics[angle=270, width=0.4\textwidth]{chapter_3_img_2}
  \caption{Общий вид иерархии}
  \label{img_2}
\end{figure}

Математически иерархия и ее свойства могут быть описаны следующим
образом. На множестве объектов $I = \{1,2, \ldots ,N\}$ (рисунок
\ref{img_2}) определяется иерархическая структура путем задания
орграфа $G = (I,W)\  W \subset I \times I$
, который:
\begin{enumerate} 
\item разбивает вершины на непересекающиеся уровни:\\
  $I = U_lV_l;l = \overline{1,m};V_i \cap V_j = \O;i,j = \overline{1,m;}$
\item 
  $(i,j) \in W$ означает, что вес $Z_i$ объекта $i$ непосредственно
  зависит от веса $Z_j$ объекта $j$;
\item если $(i,j)$ - дуга графа $G$, т.е. $(i,j) \in W$, то объекты $i$
  и $j$ находятся на смежных уровнях, т.е. найдется такое $k$, что $i
  \in V_{k+1},j \in V_k$
\item веса $Z_i$ объекта $i \in V_{k+1}$ определяются через веса $Z_j$
  вершин множества $L_i = \{j|(i,j) \in W\} \subseteq V_k$, в которые ведут дуги из
  вершины $i$ с помощью феноменологически вводимой зависимости $Z_i =
  \sum_{j \in L_{i}}\Im_{ij}Z_j, i \in I \\ V_1$, где $\Im_{ij}$  - вес дуги
  $(i,j)$. Методика определения $J_{ij}$, заключается использовании
  знаний ЛПР, для заполнения $\Im_{ij}$  дуг $(i,j ) \in W$ и веса $Z$
  объектов первого уровня $(j \in V_l )$.
\end{enumerate}

\subsubsection{Принцип дискриминации и сравнительных суждений}
Данный принцип реализуется на втором этапе МАИ. Суть его заключается в
том, что, используя суждения ЛПР/эксперта и определенные алгоритмы их
обработки, устанавливаются веса $\Im_{ij}$  дуг $(i,j ) \in W$  и  веса
$Z_j$  объектов первого уровня  $(j \in V_1 )$. Если на первом уровне
один объект, то вес его принимается за 1 $( Z_1 = 1 )$.

Суждения ЛПР/эксперта являются результатом исследования его структуры
предпочтений. При этом исследовании применяется метод парных
сравнений, содержание которого состоит в следующем. Пусть задано
некоторое фиксированное множество объектов $K = \{ k_i \}, i =
\overline{1,n}, K \subset I$ , которые сравниваются попарно с точки зрения
их предпочтительности, желательности, важности и т. п. Результаты
записываются в виде матрицы парных сравнений  $R = \{ r_{ij}\}, i,j =
\overline{1,n}$.

Результат сравнения отражает не только факт, но и степень (силу,
интенсивность и т.п) превосходства. При этом используется шкала
относительной важности, выбор которой зависит от следующих требований:
\begin{itemize}
\item шкала должна давать возможность улавливать различия в ощущениях
  людей, когда они проводят сравнение;
\item диапазон измеряемой интенсивности шкалы должен соответствовать
  результатам когнитивной психологии.
\end{itemize}

Удовлетворяет этим требованиям шкала, приведенная в табл. \ref{tab_1}.

%% @todo fix перенос таблицы !!!

\begin{table}[!h]
  \caption{Шкала относительной важности}
  \label{tab_1}
  \begin{tabular}{|p{0.3\textwidth}|p{0.3\textwidth}|p{0.3\textwidth}|}
    \hline
    Количественная  оценка интенсивности
    относительной важности& 
    Качественная оценка   интенсивности о
    тносительной важности&
    Пояснения \\
    \hline
    1&
    Равная важность&
    Равный вклад двух объектов
    \\ \hline
    3&
    Умеренное превосходство одного над другим&
    Опыт и суждения дают легкое превосходство  одного объекта над другим
    \\ \hline
    7&
    Значительное превосходство&
    Один объект имеет настолько сильное
    превосходство, что оно становится п
    рактически значительным
    \\ \hline
    9&
    Очень сильное превосходство&
    Очевидность превосходства одного объ
    екта над другим  подтверждается наибо
    лее сильно
    \\ \hline
    2,4,6,8&
    Промежуточные решения между двумя соседними суждениями&
    Применяются в компромиссном случае
    \\ \hline
    Обратные величины приведенных выше чисел&
    Если объекту $i$ при сравнении с объек
    том $j$ приписывается одно из приведен
    ных выше чисел, то действию $j$ при сра
    внении с $i$ приписывается обратное зн
    ачение &
    Применяются для сравнения обратных
    значений
    \\ \hline
  \end{tabular}
\end{table}

Из шкалы следует свойство гомогенности (однородности) объектов. Это
свойство соответствует способности людей сравнивать объекты, которые
не слишком сильно отличаются друг от друга. Гомогенность существенна
для сравнения объектов одного порядка, т.к. человеческий разум склонен
к допущению больших ошибок при сравнении несопоставимых
элементов. Когда эта несопоставимость большая, объекты располагаются в
отдельные кластеры сравниваемых размеров, что выдвигает идею об
уровнях и их декомпозиции. 

\textbf{Пример.} Рассмотрим метод парных сравнений  на примере покупки дома
(рисунок \ref{img_3}).

\begin{figure}[!h]
  \centering
  \includegraphics[angle=270, width=0.4\textwidth]{chapter_3_img_1_2}
  \caption{Иллюстрация к методу парных сравнений}
  \label{img_3}
\end{figure}

Допустим необходимо оценить предпочтения ЛПР/эксперта на множестве
вариантов А,В,С относительно критерия  - размера дома. Лучше всего эту
задачу свести к заполнению табл. \ref{tab_2}.

Размерность таблицы определяется количеством дуг, которые входят в
рассматриваемую вершину. Элементы таблицы $r_{ij}, i,j =
\overline{1,3}$ являются количественной оценкой интенсивности
предпочтения  $i$-го объекта, находящегося в $i$-й строке, относительно
$j$-го объекта,  находящегося в  $j$-м столбце, в соответствии с
вышерассмотренной  шкалой. 

При этом сравнении ЛПР/эксперту задавался следующий вопрос : насколько
один вариант (например А) превосходит по размеру другой вариант
(например С)? Ответом ЛПР/эксперта, как следует из таблицы, было
следующее суждение: существенное или сильное превосходство. 

\begin{table}
  \caption{Матрица парных сравнений к рис \ref{img_3}.}  
  \label{tab_2}
  \begin{tabular}{|c|c|c|c|}
    \hline
    Размер дома& Вариант А& Вариант В& Вариант С
    \\ \hline
    Вариант А&           1&       1/3&         5
    \\ \hline
    Вариант В&           3&         1&       1/7
    \\ \hline
    Вариант С&         1/5&         7&         1
    \\ \hline
  \end{tabular}
\end{table}

Таким же образом осуществляется оценка предпочтений ЛПР/эксперта
относительно остальных критериев путем заполнения еще пяти аналогичных
матриц размерностью $3 \times 3$. После чего метод парных сравнений
распространяется на множество самих критериев относительно  цели -
покупки дома. В этом случае ЛПР/эксперту задается следующий вопрос:
насколько важнее один критерий (например, размер дома) для реализации
цели по сравнению с другим  (например, финансовые условия)? Как
следует из иерархии, размерность этой таблицы $6 \times 6$.

Принимая во внимание свойство матрицы, т.е $\forall i,j = \overline{1,n} ,
r_{ij} = \frac{1}{r_{ji}}$ и, как следствие, $r_{ii} = 1$ количество вопросов
равно $\frac{n*(n-1)}{2}$.

Формализацией понятия непротиворечивости для метода парных сравнений
является выполнение следующего равенства: 
\begin{equation}
  \label{math_1}
  r_{ij}^{\symb} = r_{ik}^{\symb} * r_{kj}^{\symb}, \quad \forall i,j,k
\end{equation}
где $r_{ij}^{\symb}$  - это элементы матрицы $R^*$, полученные в результате идеально
согласованного эксперимента.

Соотношение (\ref{math_1}) соответствует правилу логического вывода (см. п. 2.5),
которое в этом случае формулируется следующим образом: если $i$-й объект
предпочтительнее $k$-го объекта на $r_{ik}^{\symb}$ и $k$-й объект предпочтительнее $j$-го
объекта на $r_{kj}$, то $i$-й объект предпочтительней $j$-го объекта
на $r_{ij}^{\symb}$, причем $r_{ij}^{\symb} = r_{ik}^{\symb} * r_{kj}^{\symb}$.

Если матрица $R^*$ обладает свойством (\ref{math_1}), то тогда
существуют такие числа $\Im_i^{\symb} > 0$, что имеет место равенство:
\begin{equation}
  \label{math_2}
  r_{ij}^{\symb}= \frac{\Im_i^{\symb}}{\Im_j^{\symb}}, \quad
  \forall i,j = \overline{1,n}
\end{equation}

Числа $\Im_i, i= \overline{1,n}$  отождествляются с весами дуг (это
множество $W$ в графе $G$) либо с весами объектов первого уровня (это
$Z_i, i \in V_1$). 

Матрица $R^*$ имеет единичный ранг, $\{\Im_i^{\symb}\}, i = \overline{1,n}$ -
собственный вектор матрицы, где $n$ - соответствующее ей собственное число. 

\newcommand{\JJ}[2]{\frac{\Im_{#1}^{\symb}}{\Im_{#2}^{\symb}}}
\newcommand{\J}[1]{\Im_{#1}^{\symb}}
\newcommand{\Jn}[1]{n\Im_{#1}^{\symb}}

Действительно,
\begin{equation}
  \label{math_3}
  \left(
  \begin{array}{cccc}
    \JJ{1}{1} & \JJ{1}{2} & \ldots & \JJ{1}{n} \\
    \JJ{2}{1} & \JJ{2}{2} & \ldots & \JJ{2}{n} \\
    \ldots    & \ldots    & \ldots & \ldots    \\   
    \JJ{n}{1} & \JJ{n}{2} & \ldots & \JJ{n}{n}
  \end{array}
  \right) * 
  \left(
  \begin{array}{c}
    \J{1} \\ \J{2} \\ \ldots \\ \J{n}
  \end{array}
  \right) = 
  \left(
  \begin{array}{c}
    \Jn{1} \\ \Jn{2} \\ \ldots \\ \Jn{n}
  \end{array}
  \right) = n *
  \left(
  \begin{array}{c}
    \J{1} \\ \J{2} \\ \ldots \\ \J{n}
  \end{array}
  \right)
  \text{или } R^{\symb} \overline{\Im^{\symb}} = n \overline{\Im^{\symb}}
\end{equation}

Практически добиться полной согласованности (т.е. непротиворечивости)
суждений ЛПР/эксперта далеко не всегда возможно.

Поэтому в общем случае $r_{ij}$ будут отклоняться от “идеальных”
$r_{ij}^{\symb} = \JJ{i}{j}$ , вследствие чего соотношения \ref{math_1},
\ref{math_2}, \ref{math_3} не будут иметь место. 

Для дальнейшего анализа полезными являются следующие два факта из
теории матриц:

\emph{Во-первых}если $\lambda_1, \ldots, \lambda_n$ являются
собственными числами матрицы $R$ и если $r_{ii} = 1, i =
\overline{1,n}$, то $\sum_{i = 1}^{n} \lambda_i = n$. Согласно этому
утверждению, если имеет место (\ref{math_3}) (т.е. матрица является
идеально согласованной), то все собственные числа ее - нули, за
исключением одного, равного $n$.

\emph{Во-вторых}, если элемент положительной обратносимметричной
матрицы $R$ незначительно изменить, то собственные числа этой матрицы
также изменятся незначительно, т.е. они являются непрерывными
функциями ее элементов.

Объединяя эти результаты, находим, что при малых изменениях $r_{ij}$
от $r_{ij}^{\symb}$  наибольшее собственное число $\lambda_{max}$
(практически получаемой матрицы $R$ при использовании метода парных
сравнений) остается близким к n, а остальные собственные значения -
близкими к нулю. 

Отсюда можно сформулировать следующую задачу: для нахождения весов дуг
или объектов первого уровня по полученной в результате метода парных
сравнений матрице $R$ необходимо определить собственный вектор
$\overline{J}$, соответствующий максимальному собственному числу,
т.е. решить уравнение:
\begin{equation}
  \label{math_4}
  R \overline{\Im} = \lambda_{max} \overline{\Im}
\end{equation}

Так как малые изменения в $r_{ij}$, $i,j = \overline{1,n}$ вызывают
малое изменение $ \lambda_{max}$, отклонение последнего от $n$
является мерой согласованности. Она может быть выражена с помощью
индекса согласованности (ИС):
\begin{equation}
  \label{math_5}
  \text{ИС } = \frac{(\lambda_{max} - n)}{(n - 1)}
\end{equation}

Если $\text{ИС} \leq 0,1$, то практически считается, что мера согласованности
находится на приемлемом уровне. Индекс согласованности матрицы парных
сравнений, элементы которой сгенерированы случайным образом,
называется случайным индексом (СИ). Ниже представлена таблица
соответствия порядка и среднего значения СИ, определенная на базе 100
случайных выборок  (табл. \ref{tab_3}) \red{[7]}.
\begin{table}[!h]
  \caption{Таблица средних значений СИ}
  \label{tab_3}
  \begin{tabular}{|p{0.20\textwidth}|c|c|c|c|c|c|c|c|c|c|}
    \hline
    Порядок матрицы & 
    1 & 2 & 3 & 4 & 5 & 
    6 & 7 & 8 & 9 & 10
    \\ \hline
    СИ & 
    0,00 & 0,00 & 0,58 & 0,9 & 1,12 & 
    1,24 & 1,32 & 1,41 & 1,45 & 1,49
    \\ \hline
  \end{tabular}
\end{table}
Отношение ИС к среднему СИ для матрицы того же порядка называется
отношением согласованности (ОС). Значение ОС меньшее или равное 0,10
считается приемлемым. Обычно ИС и ОС указываются в процентах. Согласно
определению, ИС можно трактовать как отклонение от идеально
проведенного эксперимента  (метода парных сравнений), а ОС указывает,
на сколько оцениваемая степень согласованности сходится со степенью
согласованности самого неидеально проведенного эксперимента. 

Таким образом, МАИ допускает несогласованность (как неотъемлемую часть
метода), признавая, что человеческие суждения находятся в постоянном
процессе изменения  и эволюции (поэтому не следует настаивать на 100\%
согласованности, так как суждения могут измениться после того, как
проблема решена). Но надежные решения  не могут быть приняты без
приемлемого уровня  согласованности.

Для нахождения максимального собственного числа и соответствующего ему
собственного вектора  используется так называемый степенной метод,
основанный на итерационном алгоритме
\begin{equation}
  \label{math_6}
  \lambda_{max} \approx \frac{\Im_i^{(m+1)}}{\Im_i^{(m)}}
\end{equation}
где $\Im_i^{(m)}$ - $i$-ая координата вектора $\overline{\Im^{m}}$; $m$
- номер итерации.

Если принять достаточно большой номер итерации $m$, то можно с любой
точностью получить $\lambda_{max}$. Для нахождения $\lambda_{max}$
можно использовать любую координату вектора $\overline{\Im^{m}}$ и, в
частности, можно взять среднее арифметическое:
\begin{equation}
  \label{math_7}
  \lambda_{max} = \frac{1}{n} \sum_{i=1}^{n} \frac{\Im_{i(m+1)}}{\Im_{i(m)}}
\end{equation}

В качестве собственного вектора матрицы, соответствующего
$\lambda_{max}$, принимается нормированный вектор, вычисленный по
рекуррентному выражению:
\begin{equation}
  \label{math_8}
  \overline{\Im}^{m+1} = R \overline{\Im}^{m}
\end{equation}

При $m=0$ $\overline{\Im}^{(0)}$ - произвольный начальный вектор.

\subsubsection{Принцип  синтеза}
Реализация принципа синтеза составляет содержание третьего
этапа. Искомые веса объектов определяются последовательно, начиная со
второго уровня иерархии (рисунок \ref{img_4}) в соответствии с решающим
правилом:
\begin{equation}
  \label{math_9}
  Z_i = \sum_{j \in L_i} \Im_{ij}Z_j,
  \quad \forall i \in V_2, \ldots, i \in V_m
\end{equation}
\begin{figure}[!h]
  \centering
  \includegraphics[angle=270, width=0.4\textwidth]{chapter_3_img_3}
  \caption{Фрагмент иерархии}
  \label{img_4}
\end{figure}

Веса объектов, принадлежащих уровню альтернатив, можно считать как
результат измерения их в шкале отношений в диапазоне [0,1].

Согласованность всей иерархии С определяется по следующему выражению:
\begin{equation}
  \label{math_10}
  C=\frac{\sum_{\forall i \in D}\text{ИС}_iZ_i}{\sum_{\forall i \in D}\text{СИ}_iZ_i}
\end{equation}

где $D = I\ V_m$; $\text{ИС}_i$, $\text{СИ}_i$ – соответственно индекс 
согласованности и случайный индекс таблицы парных сравнений,
рассмотренной относительно $i$-го объекта. 

Приемлемым является значение С меньше или равное 10\%. В противном
случае качество суждений следует улучmшить. Возможно, следует
пересмотреть формулировку вопросов при проведении парных
сравнений. Если это не поможет улучшить согласованность, то, вероятно,
задачу следует более точно структурировать, т.е. вернуться к этапу 1. 

\subsubsection{Общая оценка МАИ как метода принятия решений}
Принятие решений складывается в многодисциплинарную область
исследований, в которой работают психологи, математики, программисты,
экономисты, инженеры. Отметим, что эта многодисциплинарность является
как бы переходным этапом к появлению новой дисциплины, в рамках
которой специалисты будут обладать необходимыми научными знаниями из
приведенных выше дисциплин, а также новыми знаниями по проблемам,
ранее не изучавшимся.

Рассмотрим, насколько удовлетворяет МАИ ряду требований к научному
обоснованию методов принятия решений (см. гл. 3):
\begin{enumerate}
\item В МАИ способы получения информации от ЛПР/эксперта
соответствуют данным когнитивной психологии о возможностях человека
перерабатывать информацию. Действительно, гомогенность и принцип
иерархической декомпозиции приводят в соответствие проблему получения
оценок с психометрическими возможностями человека.
\item В МАИ имеется возможность проверки информации, полученной от
ЛПР/эксперта на непротиворечивость, посредством индекса и отношения
согласованности как для отдельных матриц, так и для всей иерархии.
\item Любые соотношения между вариантами решений в МАИ объяснимы на
основе информации, полученной от ЛПР/экспертов. Так, анализ весов
объектов по нисходящим уровням иерархии позволяет понять, как получено
то или иное значение веса.
\item Математическая правомочность решающего правила в МАИ прозрачна
и базируется на методе собственных значений и принципе иерархической
композиции, имеющих четкое математическое обоснование.
Таким образом, МАИ удовлетворяет четырем основным критериям,
обеспечивающим всестороннюю научную обоснованность метода принятия
решений.
\end{enumerate}

\subsection{Выбор с использованием МАИ.}
\subsubsection{Матрицы парных сравнений.}
В результате получилась иерархия, представленная на рисунке \ref{fig:sppr}
Суждения ЛПР представлены в таблицах~[\ref{tab:one}-\ref{tab:five}].
\begin{figure}[!h]
  \centering
  \includegraphics[angle=0, width=\textwidth]{sppr}
  \caption{Иерархия  проблемы}
\label{fig:sppr}
\end{figure}

\begin{table}[!h]
  \centering
  \caption{Веса критериев относительно цели}
  \begin{tabular}[h!]{|p{0.2\textwidth}|p{0.1\textwidth}|p{0.1\textwidth}|p{0.20\textwidth}|p{0.15\textwidth}|p{0.08\textwidth}|}
    \hline
    Выбор ЯП&\critOne&\critTwo&\critThree&\critFour&Веса
    \\ \hline
    \critOne&1&1/3&1/2&2&17.18
    \\ \hline
    \critTwo&3&1&3&2&46.59
    \\ \hline
    \critThree&2&1/3&1&1/2&17.18
    \\ \hline
    \critFour&1/2&1/2&2&1&19.02
    \\ \hline
  \end{tabular}
  \label{tab:one}
\end{table}

\begin{table}[!h]
  \centering
  \caption{Веса альтернатив относительно критерия <<\critOne>>}
  \begin{tabular}[h!]{|p{0.2\textwidth}|p{0.1\textwidth}|p{0.1\textwidth}|p{0.20\textwidth}|p{0.15\textwidth}|p{0.08\textwidth}|}
    \hline
    \critOne&\altOne&\altTwo&\altThree&\altFour&Веса
    \\ \hline
    \altOne&1&1&1/3&1/2&14.11
    \\ \hline
    \altTwo&1&1&1/3&1/2&14.11
    \\ \hline
    \altThree&3&3&1&3&45.5
    \\ \hline
    \altFour&2&2&1/3&1&26.27
    \\ \hline
  \end{tabular}
  \label{tab:two}
\end{table}

\begin{table}[!h]
  \centering
  \caption{Веса альтернатив относительно критерия <<\critTwo>>}
  \begin{tabular}[h!]{|p{0.2\textwidth}|p{0.1\textwidth}|p{0.1\textwidth}|p{0.20\textwidth}|p{0.15\textwidth}|p{0.08\textwidth}|}
    \hline
    \critTwo&\altOne&\altTwo&\altThree&\altFour&Веса
    \\ \hline
    \altOne&1&1/2&1/2&1/4&9.854
    \\ \hline
    \altTwo&2&1&1/3&1/4&12.59
    \\ \hline
    \altThree&2&3&1&1/4&21.81
    \\ \hline
    \altFour&4&3&4&1&55.74
    \\ \hline
  \end{tabular}
  \label{tab:three}
\end{table}

\begin{table}[!h]
  \centering
  \caption{Веса альтернатив относительно критерия <<\critThree>>}
  \begin{tabular}[h!]{|p{0.2\textwidth}|p{0.1\textwidth}|p{0.1\textwidth}|p{0.20\textwidth}|p{0.15\textwidth}|p{0.08\textwidth}|}
    \hline
    \critThree&\altOne&\altTwo&\altThree&\altFour&Веса
    \\ \hline
    \altOne&1&3&2&1/3&30.10
    \\ \hline
    \altTwo&1/3&1&1/4&1/3&10.33
    \\ \hline
    \altThree&2&4&1&3&27.20
    \\ \hline
    \altFour&3&3&1/3&1&32.35
    \\ \hline
  \end{tabular}
  \label{tab:four}
\end{table}

\begin{table}[!h]
  \centering
  \caption{Веса альтернатив относительно критерия <<\critFour>>}
  \begin{tabular}[h!]{|p{0.2\textwidth}|p{0.1\textwidth}|p{0.1\textwidth}|p{0.20\textwidth}|p{0.15\textwidth}|p{0.08\textwidth}|}
    \hline
    \critThree&\altOne&\altTwo&\altThree&\altFour&Веса
    \\ \hline
    \altOne&1&3&3&1/2&32.98
    \\ \hline
    \altTwo&1/3&1&1&1/2&14.46
    \\ \hline
    \altThree&1/3&1&1&1/2&14.46
    \\ \hline
    \altFour&2&2&2&1&38.08
    \\ \hline
  \end{tabular}
  \label{tab:five}
\end{table}

\subsubsection{Результат сравнения.}
В результате альтернативы получили следующие оценки:
\begin{enumerate}
\item \altOne - 41.57
\item \altTwo - 30.61
\item \altThree - 15.45
\item \altFour - 12.34
\end{enumerate}

Python — высокоуровневый язык программирования общего назначения с
акцентом на производительность  разработчика и читаемость
кода. Синтаксис ядра Python  минималистичен. В то же время стандартная
библиотека включает большой  объём полезных функций. 

Python поддерживает несколько парадигм программирования, в том числе
структурное, объектно-ориентированное, функциональное, императивное и
аспектно-ориентированное. Основные архитектурные черты — динамическая
типизация, автоматическое управление памятью, полная интроспекция,
механизм обработки исключений, поддержка многопоточных вычислений и
удобные высокоуровневые структуры данных. Код в Питоне
организовывается в функции и классы, которые могут объединяться в
модули (которые в свою очередь могут быть объединены в пакеты).

Эталонной реализацией Python является интерпретатор CPython,
поддерживающий большинство активно используемых платформ. Он
распространяется свободно под очень либеральной лицензией, позволяющей
использовать его без ограничений в любых приложениях, включая
проприетарные. Есть реализации интерпретаторов для JVM (с
возможностью компиляции), MSIL (с возможностью компиляции), LLVM и
других. Проект PyPy предлагает реализацию Питона на самом Питоне, что
уменьшает затраты на изменения языка и постановку экспериментов над
новыми возможностями.

Python — активно развивающийся язык программирования, новые версии (с
добавлением/изменением языковых свойств) выходят примерно раз в два с
половиной года. Вследствие этого и некоторых других причин на Python
отсутствуют ANSI, ISO или другие официальные стандарты, их роль
выполняет CPython.

Python поддерживает динамическую типизацию, то есть тип переменной
определяется только во время исполнения. Поэтому вместо «присваивания
значения переменной» лучше говорить о «связывании значения с некоторым
именем». В Питоне имеются встроенные типы: булевые, строки,
Unicode-строки, целые числа произвольной точности, числа с плавающей
запятой, комплексные числа и некоторые другие. Из коллекций Python
поддерживает кортежи (tuples), списки, словари (ассоциативные массивы)
и, начиная с версии 2.4, множества. Все значения в Питоне являются
объектами, в том числе функции, методы, модули, классы.

Для отрисовки графиков будет использоваться библиотека MatPlotLib.
Это библиотека для создания двухмерных графиков высокого качества
(publication quality). Сделана с таким расчётом чтобы переход на неё
доставил минимальные затруднения опытным пользователям матлаба. Как
говориться на сайте библиотеки, Matplotlib старается сделать простые
вещи простыми а сложные вещи возможными. 

Для создания интерфейса пользователя воспользуемся библиотекой
Tkinter. 

Tkinter (от англ. \textbf{Tk interface}) — это встроенная графическая
библиотека на основе средств Tk (широко распространённая в мире
GNU/Linux и других UNIX -подобных систем, портирована в том числе и на
Microsoft Windows, Apple Mac OS). В связи с тем, что создатель языка
Python Гвидо ван Россум считает данную библиотеку весьма стабильной и
устойчивой, именно она входит в стандартный дистрибутив Python.

В качестве СУБД будет использоваться SQLite3 - встраиваемый движок баз
данных. Слово «встраиваемый» означает, что SQLite не использует
парадигму клиент-сервер, то есть движок SQLite не является отдельно
работающим процессом, с которым взаимодействует программа, а
предоставляет библиотеку, с которой программа компонуется и движок
становится составной частью программы. Таким образом, в качестве
протокола обмена используются вызовы функций (API) библиотеки
SQLite. Такой подход уменьшает накладные расходы, время отклика и
упрощает программу. SQLite хранит всю базу данных (включая
определения, таблицы, индексы и данные) в единственном стандартном
файле на том компьютере, на котором исполняется программа. Простота
реализации достигается за счёт того, что перед началом исполнения
транзакции весь файл, хранящий базу данных, блокируется; ACID-функции
достигаются в том числе за счёт создания файла-журнала.  

Несколько процессов или потоков могут одновременно без каких-либо
проблем читать данные из одной базы. Запись в базу можно осуществить
только в том случае, если никаких других запросов в данный момент не
обслуживается; в противном случае попытка записи оканчивается
неудачей, и в программу возвращается код ошибки. Другим вариантом
развития событий является автоматическое повторение попыток записи в
течение заданного интервала времени.

В комплекте поставки идет также функциональная клиентская часть в виде
исполняемого файла sqlite3, с помощью которого демонстрируется
реализация функций основной библиотеки. Клиентская часть работает из
командной строки, позволяет обращаться к файлу БД на основе типовых
функций ОС.


Благодаря архитектуре движка возможно использовать Sqlite как на
встраиваемых (embedded) системах, так и на выделенных машинах с
гигабайтными массивами данных.

Выбор сделан на основе того, что SQLite естьв штатной поставке
интерпретаторов Python и не требует дополнительного ПО.
\section{Разработка <<\name>>.}
\subsection{Процесс и методология разработки ПО}
Разработка программного обеспечения (англ. software engineering,
software development) — это род деятельности (профессия) и процесс,
направленный на создание и поддержание работоспособности программного
обеспечения, используя технологии и практики из информатики,
управления проектами, математики, инженерии и других областей
знания. Как и другие, традиционные инженерные дисциплины, разработка
программного обеспечения имеет дело с проблемами стоимости и
надёжности. Некоторые программы содержат миллионы строк исходного
кода, которые, как ожидается, должны правильно исполняться в
изменяющихся условиях. Сложность ПО сравнима со сложностью наиболее
сложных из современных машин. (Боинг 777-200 насчитывает примерно
132,5 тыс. уникальных деталей. Если учесть каждую заклёпку и каждый
винт, можно говорить о более чем 3 млн. деталей \red{[3]}.) 

На протяжении нескольких десятилетий стоит задача поиска повторяемого,
предсказуемого процесса или методологии, которая бы улучшила
продуктивность и качество разработки. Одни пытались систематизировать
и формализовать этот, по-видимому, непредсказуемый процесс. Другие
применяли к нему методы управления проектами. Без четкого управления,
разработка ПО выходит из-под контроля, съедая лишнее время и
средства.

Процесс разработки программного обеспечения (англ. software
development process, software process) — структура, согласно которой
построена разработка программного обеспечения (ПО).

Модель водопада (англ. waterfall model) - модель процесса разработки
программного обеспечения, в которой процесс разработки выглядит как
поток, последовательно проходящий фазы анализа требований,
проектирования, реализации, тестирования, интеграции и поддержки. В
качестве источника названия <<водопад>> часто указывают статью,
опубликованню У.У.Ройсом (W. W. Royce) в 1970 году; забавно, что сам
Ройс использовал итеративную модель разработки и даже не использовал
термин <<водопад>>\red{[2]}. 

\subsection{Описание используемых методов.}
\subsubsection{Генетические алгоритмы}
Идея использования теории эволюции в программировании была предложена
еще в работах Фогеля [Фогель1968] и
Рехенберга[Rechenberg1965]. Аппарат генетических алгоритмов был
впервые введен в работе Холланда [Holland1975].
Множество решений, как и в генетических алгоритмах, представляет собой популяцию:

\begin{equation}
  P={p_i}:i= {\overline{1,N}},
\end{equation}
где $N$ - размер популяции (возможно, динамически изменяемая); $p_i$- хромосома, которая, в свою очередь, является парой:

\begin{equation}
  <F,G>:G=(I,W), W \in I \times I,
\end{equation}
где $F$  - значение меры приспособленности (фитнесса); $G$- решение,
описываемое хромосомой. Решение может быть описано следующим
образом: на множестве $I=F \cup T$, где $F$ – множество функций, $T$-
множество термов, определяется иерархическая структура путем задания
графа $G=(I,W), W \subset I \times I$.

В классическом генетическом алгоритме [Holland1975] можно выделить следующие этапы:
\begin{itemize}
\item инициализация исходной популяции
\item оценка приспособленности хромосом в популяции
\item проверка условия остановки алгоритма
\item отбор хромосом
\item применение генетических операторов рекомбинации
\item формирование новой популяции
\item выбор лучшей хромосомы в популяции.
\end{itemize}

На этапе отбора хромосом из искомой популяции удаляются хромосомы, пригодность которых меньше заданной.

На этапе выбора пар для скрещивания, формируется множество $M$:

\begin{equation}
  M=   <x_i,x_j> : x_i \in X,\quad x_j \in X,\quad i=  \overline{1,K},
\end{equation}
где $K$– необходимое количество пар для скрещивания; $X$– популяция; $x_i,x_j$- первый и второй родитель.

Рекомбинация – процесс, в результате которого возникают новые комбинации генов. В процессе рекомбинации можно выделить следующие этапы:
\begin{itemize}
\item скрещивание (также называемое кроссинговером или кроссовером),
  которое позволяет создать N новых хромосом-потомков путем
  комбинирования генетического материала родителей;
\item мутация, которая с той или иной вероятностью изменяет значение
  гена в выбранном локусе хромосомы.
\end{itemize}

Оператор скрещивания – предназначен для получения новых решений, на
основе тех, что находятся в данный момент в популяции. Получает на
вход две или более хромосом, на выходе выдает комбинированное решение,
которое построено на основе входных решений.

Оператор мутации – предназначен для вывода популяции из локального
оптимума. Он применяется с некоторой вероятностью к каждому решению
полученному в результате операции скрещивания.

\subsubsection{Нечеткий аппроксиматор с эволюционной настройкой}
В 1992 г. Коско (Kosco) доказал теорему, согласно которой, любая
функциональная зависимость может быть аппроксимирована адаптивной
нечеткой моделью. Для этого необходимы следующие условия:
\begin{itemize}
\item На этапе ак\-ку\-му\-ли\-ро\-ва\-ния ак\-ти\-ви\-зи\-ро\-ван\-ных консеквентов
  используется операция взвешенной суммы.
\item Дефаззификация выполняется по методу центра тяжести
\item Функции антецедентов полностью перекрывают пространство входных переменных.
\item Используются линейные функции консеквентов.
\end{itemize}

Необходимое число правил модели для заданной точности аппроксимации,
которое определяется с помощью минимального расстояния между
центроидами двух смежных нечетких множеств, представляющих консенквенты
правил, обозначаемых $y_i$ и $y_{i+1}$:
\begin{equation}
  |y_i-y_{i+1}|< \frac{\varepsilon}{{2g-1}}
\end{equation}
где $\varepsilon$- точность аппроксимации; $g$- максимальное число
перекрытий антецедентов по $X$(для одномерного входа $m=2$).

Если входная переменная одномерная, то количество правил определяется
как:
\begin{equation}
  n \geq \frac{X}{\varepsilon}
\end{equation}

При создании нечеткой продукционной модели системы могут быть
использованы как априорные данные о моделируемой системе, поступающие
от экспертов, так и данные, полученные в результате измерений.

Допустим, необходимо создать базу нечетких правил с MISO-структурой: с
двумя входными ($x_1,x_2$) и одной выходной (y) переменными. При этом
задана обучающая выборка, состоящая из множества примеров следующего
вида:

\begin{equation}
  (x_1^k,x_2^k,y^k),k=1,\ldots,K
\end{equation}
где $x_1^k,x_2^k,y^k$ - соответственно значения входных переменных
$x_1,x_2$  и выходной переменной $y$ в $k$-м примере; $K$ – общее
число примеров в обучающей выборке.
\begin{description}
\item[Этап 1.] Разбиение пространств входных и выходных
  переменных. Пусть известны минимальные и максимальные значения
  каждой переменной:
  \begin{equation}
    x_1 \in [x_1^{(min)},\ x_1^{(max)}],\ x_2 \in [x_2^{(min)},x_2^{(max)}],\ y \in [y^{(min)},y^{(max)}]
  \end{equation}

  Разобьем области определений этих переменных на отрезки. Причем
  число этих отрезков, а также их длина для каждой переменной
  подбираются индивидуально экспертом.
  
\item[Этап 2.] Формирование начальной базы правил. Можно предложить
  два непротиворечивых подхода к формированию начальной базы правил.
  
  Первый подход основан на генерации множества правил исходя из
  возможных сочетаний нечетких высказываний в предпосылках и
  заключениях правил, в соответствии с которым максимальное количество
  правил в базе определяется следующим соотношением:
  
  \begin{equation}
    l=l_1,l_2, \dots, l_m, l_y
  \end{equation}
  где $l_1,\quad l_2, \dots, l_m,\quad l_y$ - число функций принадлежности для
  заданных переменных $X_1, X_2, \dots, X_m$ -- для выходной переменной
  $y$, $m$- количество входных переменных $y$- выходная переменная.

  Другой подход к формированию начальной базы правил основан на том,
  что изначально каждому примеру из выборки ставится в соответствие
  отдельное правило. Для этого для каждого примера
  $(x_1^k,x_2^k,y^k),k=1,\ldots,K$,определяются степени принадлежности
  заданных переменных к соответствующим нечетким множествам. После чего
  каждому примеру ставятся в соответствие те нечеткие множества, степени
  принадлежности к которым у соответствующих значений переменных из
  этого примера являются максимальными.
\item[Этап 3.] Определение рейтингов правил. Поскольку изначально
  сформированная база правил наверняка является избыточной, а также
  может содержать противоречащие друг другу правила- с одинаковыми
  предпосылками и разными заключениями, то набор правил необходимо
  оптимизировать. Одним из простых подходов [1] к сокращению правил
  является следующий: 
  \begin{itemize}
  \item Допустим набор экспериментальных данных в полной мере
    характеризует особенности моделируемой системы.
  \item Все примеры из обучающей выборки
    $(x_1^k,x_2^k,y^k),\ k=1,\ldots,K$  «предъявляются» каждому
    правилу. В результате для каждого правила определяется рейтинг:
    \begin{equation}
      r_i= \sum_{k=1}^{(K)} \mu_{A_i1}(x_1^{(k)}) \dots
      \mu_{A_i2}(x_1^{(k)}) \dots \mu_{A_im}(x_m^{(k)}) \dots
      \mu_{B_i}(y^{(k)}),\quad i=1,\dots,n
    \end{equation}
  \end{itemize}
\item[Этап 4.] Сокращение числа правил. После подсчета рейтингов
  правил из базы правил исключаются правила с наименьшим значением
  $r$. При этом в первую очередь сокращения проводятся по группам
  правил, имеющим одинаковые предпосылки и разные заключения,
  т.е. разные функции принадлежности переменной вывода.
\end{description}

Недостатком данного алгоритма, является то, что настройка базы правил,
производится только по комбинации функций принадлежности в антцедентах
и консеквентах. Количество их остается неизменным.

Особенностью же нечетких ЭС является представление знаний экспертов в
нечеткой форме с использованием лингвистических переменных. Таким
образом, построение нечетких ЭС заключается в задании базы нечетких
правил, определении функций принадлежности и выборе алгоритма
нечеткого логического вывода.

К преимуществам нечетких ЭС прогнозирования можно отнести:
\begin{itemize}
\item отсутствие требования наличия обучающей выборки экспериментальных данных
\item адекватность построенной модели знаниям эксперта
\item возможность оптимизации построенной системы непосредственно экспертом, без участия разработчика;
\item высокая вычислительная эффективность.
\end{itemize}
Недостатками нечетких ЭС прогнозирования можно назвать:
\begin{itemize}
\item необходимость наличия эксперта;
\item высокие требования к адекватности знаний эксперта.
\end{itemize}
Требование к адекватности знаний эксперта экспериментальным данным
нередко оказывается практически невыполнимым. Потому экспериментальные
данные используются для оптимизации параметров функций принадлежности
нечетких правил нечеткой ЭС с целью получить наиболее адекватную ЭС.

Основными задачами НПГС можно назвать: 
\begin{itemize}
\item настройка системы нечеткого вывода
\item оптимизация параметров правил базы нечетких правил.
\end{itemize}

В первом типе задач можно выделить так называемые Питсбурский и
Мичиганский подходы обучения базы нечетких правил. В первом случае за
хромосому принимается вся база правил целиком; во втором - одно
правило. \cite{Herera}.

Оптимизация параметров нечетких правил может заключаться либо в
настройке параметров функций принадлежности, либо в настройке
коэффициентов растяжения/сжатия функций принадлежности. [Cordon2001]

\subsection{Структурные и функциональные модели}
\subsection{Анализ информационных потоков для разработки ПО}
Рассмотрим подробнее этап проектирования программы. Для этого опишем
общую структуру системы, представленную на рисунке~\ref{dataFlow1}.

На данной диаграмме присутствуют следующие потоки:
\begin{itemize}
\item Сравнительные диаграммы
\item Данные эксперимента
\item Параметры ГА
\item Параметры нечеткой системы
\end{itemize}

\begin{figure}[!ht]
  \centering
  \includegraphics[angle=0, width=\textwidth]{dataFlow1}
  \caption{Общая структура системы.}
  \label{dataFlow1}
\end{figure}

Диаграмма потоков для системы отрисовки графиков представленна на
рисунке~\ref{dataFlow2}.

На данной диаграмме присутствуют следующие потоки:
\begin{itemize}
\item Качество аппроксимации - график, на котором изображены два
  графика: реальные результаты эксперимента; данные, полученные после
  аппроксимации;
\item Гистограммы - график, на котором показаны отклонения в
  аппроксимации по каждому из экспериментов.
\end{itemize}

\begin{figure}[!ht]
  \centering
  \includegraphics[angle=0, width=\textwidth]{dataFlow2}
  \caption{Подсистема отрисовки графиков.}
  \label{dataFlow2}
\end{figure}

Система работы с генетическими алгоритмами представленна на
рисунке~\ref{dataFlow3}.

На данной диаграмме присутствуют следующие потоки:

\begin{itemize}
\item P - размер популяции
\item M - вероятность мутации
\end{itemize}

\begin{figure}[!ht]
  \centering
  \includegraphics[angle=0, width=0.5\textwidth]{dataFlow3}
  \caption{Подсистема работы с ГА.}
  \label{dataFlow3}
\end{figure}

Система для зранения данных эксперименот представленна на
рисунке~\ref{dataFlow4}.

На данной диаграмме присутствуют следующие потоки:
\begin{itemize}
\item Входные данные эксперимента
\item Выходные данные - данные полученные после эксперимента.
\end{itemize}

\begin{figure}[!ht]
  \centering
  \includegraphics[angle=0, width=0.5\textwidth]{dataFlow4}
  \caption{Подсистема работы с данными эксперимента.}
  \label{dataFlow4}
\end{figure}

\begin{figure}[!ht]
  \centering
  \includegraphics[angle=0, width=0.5\textwidth]{dataFlow5}
  \caption{Подсистема работы с нечеткими правилами.}
  \label{dataFlow5}
\end{figure}

Система работы с нечеткими правилами представленна на
рисунке~\ref{dataFlow5}.

На данной диаграмме присутствуют следующие потоки:
\begin{itemize}
\item Функции принадлежности. Представленны как кусочно-линейные
  функции.
\item Структура правил. Общая структура.
\end{itemize}

\renewcommand{\bibname}{Список использованных источников}
\addcontentsline{toc}{chapter}{Список использованных источников}

\bibliographystyle{gost71u}
\begin{thebibliography}{}
\bibitem{metod} Методические указания к выполнению квалификационной
  работы для студентов специальности 220400 – Программное обеспечение
  вычислительной техники и автоматизированных систем / Составители:
  Константинов И.С., Полунин А.И., Титаренко С.П., рецензент:
  Подлесный В. Н., 2005. – 50 с.
\bibitem{Inform} Информатика и информационные технологии. Учебник /
  Н. Д. Угринович. – 2-е изд. – М.: БИНОМ. Лаборатория знаний, 2005. –
  511с.: ил.

\bibitem{SPPR} Системы поддержки принятия решений: основные понятия и
  вопросы применения / Синюк В.Г., Котельников А.П. - учебное
  пособие. – Белгород: Изд-во БелГТАСМ, 1998. – 78с.

\bibitem{TRPO} Технология разработки программного обеспечения:
  Методические указания. / Румбешт В.В. - Белгород: Изд-во БелГТАСМ,
  2000. - 42 с.

\bibitem{DB} Базы данных. Проектирование, реализация и
  сопровождение. Теория и практика. / Т. Коннолли, К. Бегг. 3-е
  издание.: Пер. с англ. – М.: Издательский дом «Вильямс», 2003. –
  1440 с.: ил. – Парал. тит. англ.

\bibitem{SAATI} Принятие решений. Метод анализа иерархий / Т. Саати –
  Москва «Радио и связь», 1993. – 278с.

\bibitem{SQL} MySQL.RU : Одобрено лучшими российскими программистами
  / http://www.mysql.ru.

\end{thebibliography}

\end{document}
